package com.andreas.router;


import com.andreas.utils.ConnectionUtils;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.TimeoutException;

/**
 * 描述：定向发布的方式，也就是发布订阅模式，
 * 路由会根据类型进行定向分发消息给不同的队列
 * 可以理解为快递公司的分拣中心，整合小区，东面的楼小张送货，
 * 西面的楼小王送货。
 */
public class Sender {
    public static void main(String[] args) throws IOException, TimeoutException {
        Connection connection = ConnectionUtils.getConnection();
        Channel channel = connection.createChannel();
        channel.exchangeDeclare("test_exchange_direct", "direct");
        String msg = "用户注册，【userid=S101】";
        channel.basicPublish("test_exchange_direct", "insert", null, msg.getBytes(StandardCharsets.UTF_8));
        System.out.println("[用户系统]：" + msg);
        channel.close();
        connection.close();
    }
}
